home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / programming / basic / mildred / mildred.lha / lha / Mildred.lha / Mildred.Readme < prev   
Text File  |  2000-03-02  |  42KB  |  446 lines

  1.  
  2. Mildred v1.51. Copyright (c) 1998-2000 Paul West. Written by Paul West.
  3.  
  4. All previous copyright ownership by Pagan Games is now void. Paul Jonathan West
  5. is the full owner of Mildred library, sourcecode, intellectual properties,
  6. copyright and distribution rights.
  7.  
  8. Mildred.obj is the actual Mildred chunky-graphics library. Put it into your
  9. Blitzlibs:Userlibs/ drawer. Then remake your deflibs file with either
  10. BlitzLibsMan, or the MakeDefLibs program.
  11.  
  12. If you encounter a crash when attempting to recreate your deflibs with
  13. Mildred.obj installed, try using the modified version that I have also supplied.
  14.  
  15. Then you can reload blitz/ted and Mildred's commandset should be available.
  16.  
  17. A suggested installation from CLI is as follows:
  18.  
  19. Lha x ram:Mildred.lha ram:
  20. Copy ram:Mildred.obj Blitzlibs:userlibs/
  21. ram:MakeDefLibs.exe
  22. EndCli
  23.  
  24. then load up blitz.
  25.  
  26. Please refer to Mildred.Guide documentation for further details on changes in
  27. this update and up-to-date documentation of all commands.
  28.  
  29. History
  30. v1.1  - First public release
  31. v1.11 - Fixed bug in MUseShapeBank and altered ShapesTotal size to word as it was incorrectly a longword
  32.       - Fixed bug in the errorchecking of Mc2pCPUmode that was checking d3 instead of d0
  33. v1.12 - Fixed bug in MUnQueue that would only do two lines of code if wrapping was active, but should have been done always
  34. v1.13 - MBoxF, MBoxFShape, MBoxFStencil and MBoxFCookie added
  35.       - MBox, MBoxShape, MBoxStencil and MBoxCookie added
  36. v1.14 - MPlanar16ToBitmap, MPlanar16ToShape added
  37. v1.15 - Planar-to-chunky converter optimised further using addx and reverse bitplane order, twice as fast as roxr.b #n,dn
  38.       - MGenericPtr added
  39.       - A shape's handle is unconditionally added (actually subtracted) to Xpos,Ypos in shape-to-bitmap type blits (MBlit etc)
  40. v1.16 - Fixed small bug in !PerformPoint macro, d6.l should have been d6.w.
  41.       - Fixed small but ineffective bug in MPlotCookie, d6.l should have been d6.w
  42. v1.17 - Added MCludgeCookie and MCludgeStencil, also needed to add two macros
  43.       - Fixed bug in macro used by MCludgeCookie and MCludgeStencil, as it was not setting `SHere' to 0 to indicate cludge.
  44. v1.18 - Added MUnQueueRange for unqueuing a range of items and without flushing the queue
  45. v1.19 - Fixed bug in data for shape banks, was using structures of 8 bytes but only were 6 bytes in mem
  46.       - Fixed bug in MReserveShapes, was shifting bank number 8 places instead of 3
  47. v1.2  - Added MReMap and MReMapShape
  48. v1.21 - Fixed bug in macro DeallocStencil, was killing the whole object
  49. v1.22 - Commented-out line in MShapeClip and MBitmapClip to make X leftedge unaligned (width is still multiple of 4)
  50.       - Commented-out line in Macro CludgeResourceWindow to make X leftedge unaligned (width of window is still multiple of 4)
  51. v1.23 - Added mode to MBlit so that if a cookie is not present it will just blit the graphic in `replace'-mode (unmasked)
  52.       - Minor pipeline improvement in macros !PerformPlot and !PerformPoint
  53.       - Added code to the init routine to reserve default amounts of all objects at runtime (doesn't need much mem)
  54.       - Added `BankToUse' parameter to MReserveShapes so that you don't have to do a seperate MUseShapeBank
  55.       - Changed BoxF and Box routines to use X2,Y2 instead of Width,Height and had to add macro CCheckWindowFits4
  56. v1.24 - Made the colour parameter in MPlot,MPlotShape,MPlotStencil and MPlotCookie optional, assuming 0 if not specified
  57.       - *Partially* Added MLine, MLineShape, MLineStencil and MLineCookie
  58.       - Modified shapebank-related routines to provide 32 shape banks numbered 0..31, instead of 0..9.
  59.       - Fixed bugs in macros ShuffleRegs1, ShuffleRegs2 and ShuffleRegs3
  60. v1.25 - Added MReMapUsingShape and MReMapShapeUsingShape
  61. v1.26 - Optimised routine PerformReMapUsing for slight speed gain
  62.       - Optimised routine PerformReMap for 25% speed gain in table mode
  63.       - Fixed bug in macro CCheckWindowFits4, which affected runtime errorchecking of MBox/MBoxF and related routines
  64. v1.27 - Added MInk for setting a currently-used pen colour. Defaults to 1 which is a bit more logical than 0
  65.       - Added MColourMode function to accompany CookieMode/SolidMode etc, but for `colour' drawing mode in blits
  66.       - Added `colour' mode to MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines
  67.       - Removed redundant instruction in routine PerformBlit3's loop, for cookie-mode stencil-blits (slight speedup)
  68.       - Adjusted graphics routines to use the ink colour if assuming which colour to use, rather than 0
  69.       - Further optimised routine PerformReMapUsing for slight speedup (about 1-2fps)
  70.       - Changed order of tables being used for MReMap[Shape]UsingShape, for consistency with `MReMapMode' blit mode
  71.       - Added support for new Table objects
  72.       - Added MReserveTables, MFreeTables, MFreeTable, MAddrTable, MTable
  73.       - Added MFlushTable, MAutoUseTables, MUseTables, MUseTable, MUsedTable
  74.       - Added MTablePtr, MReMapMode
  75.       - Added new blit mode `ReMap' to the MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines for table-based remapping
  76. v1.28 - Optimised MPictureDissolveIn for speed gain (a good few fps)
  77.       - Added MSimpleReMapMode
  78.       - Added new blit mode `SimpleReMap' to the MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines for 1-dim remapping
  79.       - Fixed bug in definitions, MPointStencil and MPointCookie were defined as statements, but should have been functions
  80.       - Changed the !PerformPoint macro to initialise d0 before grabbing the byte, in case it causes corrupt return value
  81. v1.29 - Optimised non-cut routine used by MSMaskScrolls (PerformGenericBlit6[b])
  82.       - Slight optimisation to non-cut plain copy routine used by M[Q]SBlits (PerformBlit2)
  83.       - Finished MLine, MLineShape, MLineStencil and MLineCookie
  84. v1.30 - Redirected routine PerformGenericBlit3[b] to use PerformBlit1[b], to save code redundancy, and made gen3b into 1b
  85.       - Added MSMaskScrollMode to support blit modes for MSMaskScrolls (previously only MMaskScrolls)
  86.       - Redirected routine PerformGenericBlit6[b] to use PerformBlit2[b], to prepare for shared sblit blit-mode code
  87.       - Redirected routine PerformGenericBlit9[b] to use PerformBlit3[b], to prepare for shared sblit cut blit-mode code
  88.       - Completed support for MSMaskScrolls in `copy' mode with blit modes, by adding PerformBlit2b (2 backwards)
  89.       - Completed support for MSMaskScrolls in `cut' mode with blit modes, by adding PerformBlit3b (3 backwards)
  90.       - Modified runtime errorchecking routines for MSMaskScrolls to check that tables are available in M[Simple]ReMapMode
  91. v1.31 - Modified MScroll routines to support any width (non multiple, as low as 1).
  92.       - Modified MSScroll routines to support any width (non multiple, as low as 1) in both `paste' and `cut' modes.
  93. v1.32 - Fixed bugs in routine PerformBlit2[b] for non-cut output to stencil. Some OR's should have been AND's, and vice versa.
  94. v1.33 - Fixed bug in routine PerformLine, sometimes d5 was plotted rather than d6
  95. v1.34 - Added MPlotParticles for plotting list of pixels to a colour. List items are X.w,Y.w
  96.       - Added MGrabParticles for grabbing list of pixels to a buffer. List items are X.w,Y.w. Buffer is Pixel.b's
  97.       - Added MDrawParticles for drawing grabbed list of pixels from a buffer. List items are X.w,Y.w. Buffer is Pixel.b's
  98.       - Added MGrabParticlesAndPlot for grabbing and plotting pixels to a colour. List items are X.w,Y.w. Buffer is Pixel.b's
  99.       - Fixed bug in initialisation, auto-clip for bitmaps and shapes shouldn't have been automatically On!
  100.       - Added MPlotParticlesA, MGrabParticlesA, MDrawParticlesA, MGrabParticlesAndPlotA, for actual-address list items
  101.       - Added MPlotParticlesQ, MGrabParticlesQ, MDrawParticlesQ, MGrabParticlesAndPlotQ, for X.q,Y.q items [*16*.16][*16*.16]
  102.       - Added MAddToParticles, MAddToParticlesA, MAddToParticlesQ, for adding values to particle list items
  103.       - Added MAdd2ToParticles, MAdd2ToParticlesA, MAdd2ToParticlesQ, for more efficient multiple adds to list items
  104. v1.35 - Added MWrapParticles, MWrapParticlesA, MWrapParticlesQ, to wrap coords around edges of bitmap/clip (within reason)
  105.       - Fixed bugs in clip routine of MAddToParticlesQ and MAdd2ToParticlesQ, offsets and adders and adding were wrong
  106.       - Fixed bugs in clip routine of MWrapParticles and MWrapParticlesQ, 2 conditional branches to loop missing
  107. v1.36 - Added MReboundParticles and MReboundParticlesQ, for bouncing particless off the edges. No `A' version, not possible
  108.       - Fixed bugs in MLine, MLineShape, MLineStencil, MLineCookie, short version used wrong colour
  109.       - Added MProcessor function, to replace blitz's `Processor' instruction and support 060
  110.       - Modified various cpu-related routines (c2p and 040 choices) to support possible 060 cpu number
  111.       - Modified init routine to check for cpu availability and set MCPU, Mc2pCPUmode and M040c2pUsage to appropriate defaults
  112. v1.37 - Added MAddXYToParticles and MAddXYToParticlesQ for adding X and Y constants to X and Y components in a particle list
  113.       - Added MAddXYToParticlesA to add constant value to list of Ptr.l particles
  114.       - Added MAddXToParticles, MAddYToParticles, MAddXToParticlesQ and MAddYToParticlesQ for further adding to particle lists
  115. v1.38 - Removed unnecessary code from MPlotParticlesA, MGrabParticlesA, MDrawParticlesA and MGrabParticlesAndPlotA
  116.       - Added MParticleMode to choose MColourMode, MReMapMode or MSimpleReMapMode for particle plot/draw
  117.       - Added MSimpleReMapMode and MReMapMode support to MPlotParticles, MPlotParticlesA and MPlotParticlesQ (clipping also!)
  118.       - Added MSimpleReMapMode and MReMapMode support to MDrawParticles, MDrawParticlesA and MDrawParticlesQ (clipping also!)
  119.       - Added MSimpleReMapMode and MReMapMode support to MGrabParticlesAndPlot[A/Q] for remap plot and normal grab (and clip!)
  120.       - Merged MAdd2ToParticles[A/Q] into extension of MAddToParticles[A/Q] to make friendlier interface & cut down on tokens
  121.       - Token order has been compromised due to removal of MAdd2ToParticles, MAdd2ToParticlesA and MAdd2ToParticlesQ !!!
  122.       - Fixed errornumber bugs in errorchecking routines of MShapePtr and MCookiePtr. Was Error28, should have been Error27
  123.       - Added support to MBitmapPtr, MStencilPtr, MShapePtr and MCookiePtr to assume currently used objects if no params
  124.       - Merged MAddXToParticles[Q] into special-case routine of MAddXYToParticles[Q] (called if Y is 0)
  125.       - Merged MAddYToParticles[Q] into special-case routine of MAddXYToParticles[Q] (called if X is 0)
  126.       - Token order has been compromised due to removal of MAddXToParticles[Q] and MAddYToParticles[Q] !!!
  127. v1.39 - Optimised routine PerformLine for speedup and less instructions
  128.       - Expanded MInk to allow specification of second and third inks to use
  129.       - Slightly rearranged internal data area and ensured alignment without Even4's, ready for extensions to access
  130.       - Added MMildredBase to return the base address of Mildred's internal data area
  131.       - Added lib support for returning base of Mildred's internal data area to other libraries, at the end of Initialise
  132. v1.40 - Added CRsrc_TotWidth to resource structure, for shapes and bitmaps, and added support code in necessary routines
  133.       - Modified many routines to read CRsrc_TotWidth rather than move.w mem->reg, add.w mem->reg. Slight general speedups
  134.       - Rearranged part of Mc2pWindow to check and set auto-use at the start as it was possibly trashed by the CacheClearU_()
  135. v1.41 - Made MParticleMode, MBlitMode, MQBlitMode, MSBlitMode, MQSBlitMode, MMaskScrollMode and MSMaskScrollMode into commands
  136.       - Slightly modified MUnQueue, negligible speedup, but better pipelining
  137.       - Added MDrawingMode to change mode used for drawing operations such as MPlot, MLine, MBoxF etc
  138.       - Added MDrawingMode support to MCls family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap!)
  139.       - Added MDrawingMode support to MPlot family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap)
  140.       - Added MDrawingMode support to MBoxF family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap)
  141.       - Added MDrawingMode support to MBox family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap!)
  142.       - Added MDrawingMode support to MLine family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap)
  143. v1.42 - Moved _DrawingModeType in data area and made it into a word, as it was mistakenly defined as a byte so was trashing
  144.       - Fixed bugs in MSTile32x32 and MSTile32x32Store, wrapping was not implemented for the dest stencil
  145.       - Slightly optimised routine PerformRemap and fixed bug in PerformRemapUsingShape as top half of d4 needed to be cleared
  146.       - Slightly optimised MUnQueue (bitmap form), speedup of about 0.1fps!
  147.       - Fixed major bug in routine PerformBlit1, ReMap mode routine was doing stencil cut but should have been a straight blit
  148.       - Added optimisation as routines PerformBlit1[b]_16, to do groups of 16 pixels instead of 4 if the width is a multiple
  149.       - Made M[c2pWindow][Shape][Bitmap]Width and M[c2pWindow][Shape][Bitmap]Height work without specified object number
  150.       - Made MAddr[c2pWindow][Shape][Bitmap][Queue][Table] work without specified object number
  151.       - Optimised macro RemakeStencil, used for generating a stencil or cookie from a bitmap or shape
  152.       - Added optimisation as routines PerformBlit2[b]_16, to do groups of 16 pixels instead of 4 if the width is a multiple
  153.       - Fixed major bug in routines PerformBlit2[b][_16] and PerformBlit3[b] in SolidMode write to mask was or instead of and
  154.       - Recoded all tile blits in 030 mode from movem.l's to move.l's and done modulos different. 2-3fps faster, on 040.
  155.       - Added optimisation as routines PerformBlit3[b]_16, to do groups of 16 pixels instead of 4 if the width is a multiple
  156.       - Optimised GenericBlit (scroll) routines, optimised for when width is multiple of 16 or multilpes of 64 for blockscroll
  157.       - Fixed bug in all tokens that add items to a queue. Upper word of d7 was corrupt due to unusual longword usage
  158. v1.43 - Added MParticleFormat to select mode for particle tokens, between 0=word, <0=quick and >0=actual memory addresses
  159.       - Merged Word/Quick/Address versions of particle commands into single commands, using MParticleFormat to choose
  160.       - Removed MReMap[Shape]UsingShape commands as they have been superceded by MDrawingMode functionality
  161.       - Removed Mc2pToggleSingle, Mc2pToggleDouble and Mc2pToggleTriple, as you might as well just use Mc2pToggle.
  162.       - Removed the MInitShape token and just kept with MShape for making new shapes
  163.       - Renamed MUse[c2pWindows][Shapes][Bitmaps][Queues][Tables] to the singular versions and removed the plurals
  164.       - Removed MMidHandle, MMidOrigin, MCopyHandle and MCopyOrigin completely
  165.       - Removed the unused MFlushTable completely
  166.       - Removed M040c2pUsage and any other tokens associated with its status.
  167.       - Merged MMakeCookies into MMakeCookie and removed MMakeCookies token
  168.       - Merged MMakeStencils into MMakeStencil and removed MMakeStencils token
  169.       - Merged MFree[c2pWindows][Shapes][Bitmaps][Cookies][Stencils][Queues][Tables] to the singular and removed the plurals
  170.       - Tokenisation has been severly compromised due to changes, deletions and additions.!!
  171. v1.44 - Moved MPictureDissolveIn token to the end of the library and renamed the old one to MNothing as the 128th token fails
  172. v1.45 - Killed Mc2pRowLacing, Mc2pColumnLacing, Mc2pRowToggle, Mc2pColumnToggle and Mc2pToggle. Tokens 1-5 free for use!
  173.       - Removed all code relating to interlaced c2p conversion, especially from Mc2pWindow, Mc2p and data area
  174.       - Changed c2pWindow structure to 8 bytes instead of 16 and allowed c2p0_Pixels to be .w or .l depending on modulos>0
  175.       - Modified Mc2pWindow and Mc2p to support non-modulo c2p routine, and implemented non-modulo c2p (040 and 030) into Mc2p
  176.       - Added MPictureDissolveOut to wipe image to a colour, bit faster than cross-wiping to blank image in MPictureDissolveIn
  177.       - Modified MCludge[Shape][Bitmap][Cookie][Stencil] to take the `-16' away from the programmer making base address actual
  178.       - Merged MUnQueueRange into extra syntax option of MUnQueue, still able to unqueue range without flush or all with flush
  179.       - Added MBlockUnQueue in place of MUnQueueRange for unqueing items with width and X coord multiple of 16 (doesn't check)
  180.       - Modified clearscreen mode of MUnQueue and MBlockUnQueue to use current ink instead of just 0's
  181.       - Tried to add stencil-unqueue (cut behind stencil) but failed, not enough regs, so removed
  182.       - Slightly optimised clearscreen mode of M[Block]UnQueue to do forwards operation and (an)+ (removes need for mulu)
  183.       - Slightly optimised routine PerformCls in all relevant blit modes
  184. v1.46 - Added MWrapXParticles and MWrapYParticles to do wrapping of only sides or top/bottom. No X-wrap for Ptr.l, however.
  185.       - Added MAddToXParticles and MAddToYParticles to add list(s) to particles but only one of the two components (Not Ptr.l)
  186.       - Fixed small bug in errorchecking routine of MAddToParticles, check for zero address occured when address was negative
  187.       - Fixed bug in clipping version of .q 2-adder routine in MAddToParticles, a3 needed to have a skip value added
  188. v1.47 - Fixed bugs in routine PerformGenericBlit2[b], optimised routines were copying stencil also but should be data only
  189.       - Added CustomOffsets.l to MScroll family, for using list of custom Width.w,X1Offset.w,X2Offset.w,SourceModulo.w values
  190.       - Added CustomOffsets.l to MSScroll family, for using list of custom Width.w,X1Offset.w,X2Offset.w,SourceModulo.w values
  191.       - Fixed bugs in generic blit routines, beq should have been blt for skipping if byte loopcounter was empty (-1 not 0)
  192.       - Optimised remainder-byte checking in PerformGenericBlit2[b]/5[b], was no need to test for zero bytes
  193.       - Small optimisation, changing bsr to bra if the jump is the last instruction of a routine, as there is no need to stack
  194.       - Added LongwordStore.l to data area for temporary storage of longwords, like when stacking it would not be possible
  195.       - Fixed bugs in errorchecking routines of MPointShape and MPointCookie, was jumping to Error28 instead of Error27
  196.       - Added [,Source.w] parameter to MPoint[Shape][Stencil][Cookie] to specify a source bitmap/shape for the operation
  197.       - Added MZoom, MZoomShape, MZoomBitmapToShape and MZoomShapeToBitmap, for zoomed unmasked scrolls (+CustomOffsets list!)
  198.       - Added macros CCheckXYFits2 and CCheckXYFits3 for use by errorchecking routines of MZoom[Shape][To][Bitmap]
  199. v1.48 - Fixed bug in routine PerformBlit1_16, indirect offsets in SimpleRemap were 0..3,0..3,0..3,0..3 should have been 0..15
  200.       - Optimised (1fps+) some scrolls that copy the stencil/cookie, as interleaving the moves is faster than as bursts
  201.       - Optimised some blit modes in PerformBlit1/2/3[b][_16] using phase-shift, pipelining and interleaved mem accesses
  202.       - Optimised the 030 tile routines a bit when doing an STile, by interleaving the moves
  203.       - Optimised the SimpleReMap modes in PerformBlit1[b]_16/2[b]_16/3[b]_16 when width is multiple of 16 (gains up to 2fps)
  204.       - Optimised zoom routines. Zooms with non-integer x factor are about 4fps faster
  205.       - Optimised all zoom routines using addx method instead of swap/swap/add, gains of about 3-4fps
  206.       - Added DeRes?.w as last compulsory param of zoom tokens, and added de-res routines to zooms
  207.       - Optimised zoom routines for when x factor is 1.0 to do extra-fast y-zoom, many fps faster
  208.       - Attempted to rewrite routine PerformLine using .q loop with addx, but it performed slower due to need to use divu.w
  209.       - Optimised CustomZoom[DeRes] that uses CustomOffsets.l to do groups of 4 pixels if width is multiple, gain up to 2fps+
  210. v1.49 - Added MAddMode which returns mode number 7 for use with various graphics routines to choose `Add' operations
  211.       - Added full support throughout the lib for MAddMode routines, byte values of source and dest are simply added together
  212.       - Updated the descriptions of numerous tokens to better represent recent changes
  213.       - Fixed bug in single-colour section of routine PerformReMap, loopcounter was screwy
  214. v1.50 - Fixed bugs in MWrapXParticles and MWrapYParticles, loops were BGE and should have been BGT, causing 1 illegal loop
  215.       - Fixed bugs in check routines of MBox[F] family, as tables were being checked for in MAddMode (where not necessary)
  216. v1.51 - Work resumed 27/02/2000 for the first time since 22/05/1999, copyright ownership has been reclaimed
  217.       - Bug identified in PerformBlit1/2/3_16[b] MSimpleReMapMode. Masking isn't working right, shape's cookie is blocks of 4!
  218.       - Macro RemakeStencil optimised by changing SNE.b to SEQ.b and removing the NOT.l, slight speedup making cookie/stencil
  219.       - Fixed bug in PerformBlit1/2/3_16[b] MSimpleReMapMode. Replaced TST.l with CMP.l #-1, as it was skipping 4 instead of 1
  220.       - Design flaw: Programmers should beware that cludged cookies/stencils must share the same linemodulo as the main data
  221.       - Optimised macro PerformYFlip for improved speed Yflipping if width is multiple of 16
  222.       - Optimised/recoded macro PerformXFlip for improved speed Xflipping if width is multiple of 4 or 16. ScrollDemo is 1fps+
  223.  
  224. Blitz library 'blitzlibs:userlibs/Mildred.obj' (#15)
  225.  MWrapXParticles CoordinateList.l,NumPoints.l ; Bring particles in from left/right edges (Not Ptr.l)
  226.  MWrapYParticles CoordinateList.l,NumPoints.l ; Bring particles in from top/bottom edges
  227.  MAddToXParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add X components of [two sets of] increments
  228.  MAddToYParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add Y components of [two sets of] increments
  229.  MAddMode ; Returns value 7 which represents `add' mode in the blit modes
  230.  Mc2pCPUmode CPU.b ; Set cpu c2p uses. Use `MProcessor' or `Processor'. <4=030-, >3=040+
  231.  Mc2pWindow c2pWindow#.w,OpWidth.w,OpHeight.w[,SourceBWidth.w[,Processor.b],PlanarWidth.w,PlanarHeight.w]
  232.  Mc2pWindowWidth [(c2pWindowNumber.w)] ; Returns width of c2pWindow
  233.  Mc2pWindowHeight [(c2pWindowNumber.w)] ; Returns height of c2pWindow
  234.  Mc2pWindowNewHeight c2pWindow#.w,NewHeight.w ; Change height of already defined c2p object
  235.  Mc2p [[c2pWindow#.w],Chunky.l],Planar.l ; Convert chunky to planar (Use Mc2pWindow first)
  236.  MReservec2pWindows [(]NumberOfWindows.w[)] ; Reserve structure-memory for c2pWindows
  237.  MReserveShapes [(]NumberOfShapes.w[,ShapeBankToUse.w][)] ; Reserve structure-memory for Shapes
  238.  MReserveBitmaps [(]NumberOfBitmaps.w[)] ; Reserve structure-memory for Bitmaps
  239.  MShape [(]ShapeNumber.w,Width.w,Height.w[)] ; Allocmem for shape data
  240.  MBitmap [(]BitmapNumber.w,Width.w,Height.w[)] ; Allocmem for bitmap data
  241.  MAutoCookie On/Off ; Autocreation of ByteForByte cookies
  242.  MAutoStencil On/Off ; Autocreation of ByteForByte stencils
  243.  MFreec2pWindow [Firstc2pWindow.w[,Lastc2pWindow.w]] ; Free a c2pWindow, range of c2pWindows or all c2pWindows
  244.  MFreeShape [FirstShape.w[,LastShape.w]] ; Free a Shape, range of shapes, or all shapes
  245.  MFreeBitmap [FirstBitmap.w[,LastBitmap.w]] ; Free a Bitmap, range of bitmaps, or all bitmaps
  246.  MShapeWidth [(ShapeNumber.w)] ; Returns width of Shape
  247.  MBitmapWidth [(BitmapNumber.w)] ; Returns width of Bitmap
  248.  MShapeHeight [(ShapeNumber.w)] ; Returns height of Shape
  249.  MBitmapHeight [(BitmapNumber.w)] ; Returns height of Bitmap
  250.  MAddrc2pWindow [(c2pWindowNumer.w)] ; Returns address of c2pWindow structure
  251.  MAddrShape [(ShapeNumber.w)] ; Returns address of Shape structure
  252.  MAddrBitmap [(BitmapNumber.w)] ; Returns address of Bitmap structure
  253.  MHandle ShapeNumber.w,XOffset.w,YOffset.w ; Set handle of Shape
  254.  MBitmapOrigin BitmapNumber.w,XOffset.w,YOffset.w ; Set origin of Bitmap
  255.  MUsec2pWindow Mainc2pWindowNum.w[,Secondc2pWindowNum.w[,Thirdc2pWindowNum.w]] ; Current to use
  256.  MUseShape MainShapeNum.w[,SecondShapeNum.w[,ThirdShapeNum.w]] ; Current Shape(s) to use
  257.  MUseBitmap MainBitmapNum.w[,SecondBitmapNum.w[,ThirdBitmapNum.w]] ; Current Bitmap(s) to use
  258.  MUsedc2pWindow  ; Returns currently used c2pWindow
  259.  MUsedShape  ; Returns currently used Shape
  260.  MUsedBitmap  ; Returns currently used Bitmap
  261.  MCludgeShape ShapeNumber.w,Width.w,Height.w,Memory.l ; Cludge shape from existing mem
  262.  MCludgeBitmap BitmapNumber.w,Width.w,Height.w,Memory.l ; Cludge bitmap from existing mem
  263.  MAutoUsec2pWindows True/False ; Automatically `use' new c2pWindows. <>0=True
  264.  MAutoUseShapes True/False ; Automatically `use' new shapes. <>0=True
  265.  MAutoUseBitmaps True/False ; Automatically `use' new bitmaps. <>0=True
  266.  MMakeCookie [FirstShape.w[,LastShape.w]] ; Make a cookie for a shape, range of shapes, or all shapes
  267.  MMakeStencil [FirstBitmap.w[,LastBitmap.w]] ; Make a stencil for a bitmap, range of bitmaps, or all bitmaps
  268.  MFreeCookie [FirstShape.w[,LastShape.w]] ; Free a Shape's cookie, a range of Shape's cookies, or all cookies
  269.  MFreeStencil [FirstBitmap.w[,LastBitmap.w]] ; Free's a Bitmap's stencil, a range of stencils or all stencils
  270.  MAutoShapeWrap On/Off ; Auto X&Y Handle-wrapping for Shapes
  271.  MAutoBitmapWrap On/Off ; Auto X&Y Handle-Wrapingp for Bitmaps
  272.  MShapeWrap ShapeNumber.w,On/Off ; De/Activate X&Y Handle-Wrap for Shape
  273.  MBitmapWrap BitmapNumber.w,On/Off ; De/Activate X&Y Handle-Wrap for Bitmap
  274.  MCludgeShapeStruct [(]SourceShape.w,DestShape.w[)] ; Copy definition-data only
  275.  MCludgeBitmapStruct [(]SourceBitmap.w,DestBitmap.w[)] ; Copy definition-data only
  276.  MCopyc2pWindow Sourcec2pWindow.w,Destc2pWindow.w ; Copy definition-data only
  277.  MShapeWindow [(]SourceShape.w,DestShape.w,X.w,Y.w,Width.w,Height.w[)] ; Cludge Shape within a Shape
  278.  MBitmapWindow [(]SourceBitmap.w,DestBitmap.w,X.w,Y.w,Width.w,Height.w[)] ; Cludge Bitmap within a Bitmap
  279.  MBitmapShape [(]SourceBitmap.w,DestShape.w[)] ; Copy definition-data only
  280.  MShapesBitmap [(]SourceShape.w,DestBitmap.w[)] ; Copy definition-data only
  281.  MAutoCookieXFlip On/Off ; Auto X-Flip for Shape's cookie
  282.  MAutoCookieYFlip On/Off ; Auto Y-Flip for Shape's cookie
  283.  MAutoStencilXFlip On/Off ; Auto X-Flip for Bitmap's stencil
  284.  MAutoStencilYFlip On/Off ; Auto Y-Flip for Bitmap's stencil
  285.  MAutoCookieFlip On/Off ; Auto X&Y Cookie-Flip for Shapes
  286.  MAutoStencilFlip On/Off ; Auto X&Y Stencil-Flip for Bitmaps
  287.  MShapeXFlip ShapeNumber.w ; Horizontally flip a Shape (see MAutoCookieFlip)
  288.  MShapeYFlip ShapeNumber.w ; Vertically flip a Shape (see MAutoCookieFlip)
  289.  MBitmapXFlip BitmapNumber.w ; Horizontally flip a Bitmap (see MAutoStencilFlip)
  290.  MBitmapYFlip BitmapNumber.w ; Vertically flip a Bitmap (see MAutoStencilFlip)
  291.  MCookieXFlip ShapeNumber.w ; Horizontally flip a Shape's cookie
  292.  MCookieYFlip ShapeNumber.w ; Vertically flip a Shape's cookie
  293.  MStencilXFlip BitmapNumber.w ; Horizontally flip a Bitmap's stencil
  294.  MStencilYFlip BitmapNumber.w ; Vertically flip a Bitmap's stencil
  295.  MAutoShapeClip Status.b ; Auto-clip new Shapes. On/Off
  296.  MAutoBitmapClip Status.b ; Auto-clip new Bitmaps. On/Off
  297.  MShapeClip ShapeNumber.w[,X.w,Y.w,Width.w,Height.w][,Active] ; Active=On/Off. Define Shape's clip window
  298.  MBitmapClip BitmapNumber.w[,X.w,Y.w,Width.w,Height.w][,Active] ; Active=On/Off. Define Bitmap's clip window
  299.  MGetaShape ShapeNumber.w,X.w,Y.w,Width.w,Height.w[,Block?,StencilIsCookie?] ; Grab shape from bitmap
  300.  MGetaBitmap BitmapNumber.w,X.w,Y.w,Width.w,Height.w[,Block?,CookieIsStencil?] ; Grab bitmap from shape
  301.  MScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy graphic
  302.  MScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ; Copy graphic
  303.  MScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy sten to sten
  304.  MScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ;Copy cook to cook
  305.  MMaskScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap graphic with stencil-cut
  306.  MMaskScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape graphic with cookie-cut
  307.  MMaskScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];Copy stencil2stencil & stencil-cut
  308.  MMaskScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie to cookie & cookie-cut
  309.  MScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]];bitmap 2 shape
  310.  MScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ;shape 2 bitmap
  311.  MScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]]; sten2cookie
  312.  MScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ; cookie2sten
  313.  MMaskScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap to shape & cut
  314.  MMaskScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape to bitmap & cut
  315.  MMaskScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ;Copy stencil2cookie & cut
  316.  MMaskScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie2stencil & cut
  317.  MBlockScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy graphic
  318.  MBlockScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy graphic
  319.  MBlockScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy stencil to stencil
  320.  MBlockScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy cookie to cookie
  321.  MBlockScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy bitmap to shape
  322.  MBlockScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy shape to bitmap
  323.  MBlockScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];BlockCopy stencil2cookie
  324.  MBlockScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy cookie2stencil
  325.  MCPU Processor.b ; Set cpu routines allowed to use. CAREFUL!! Try using `MProcessor' or `Processor'
  326.  MCls [Colour] Clear a bitmap to colour 0 or the specified colour (in DrawingMode)
  327.  MClsShape [Colour] Clear a shape to colour 0 or the specified colour (in DrawingMode)
  328.  MClsStencil [Colour] Clear a stencil to colour 0 or the specified colour (in DrawingMode)
  329.  MClsCookie [Colour] Clear a cookie to colour 0 or the specified colour (in DrawingMode)
  330.  MPlot Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the bitmap in DrawingMode 
  331.  MPlotShape Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the shape in DrawingMode
  332.  MPlotStencil Xpos.w,Ypos.w[,Colour] ;Plot a single pixel in the stencil to *represent* DrawingMode
  333.  MPlotCookie Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the cookie to *represent* DrawingMode
  334.  MPoint (Xpos.w,Ypos.w[,BitmapToRead.w]) ; Return the colour of a single pixel in a bitmap
  335.  MPointShape (Xpos.w,Ypos.w[,ShapeToRead.w]) ; Return the colour of a single pixel in a shape
  336.  MPointStencil (Xpos.w,Ypos.w[,BitmapToRead.w]) ;Return the status of a pixel in stencil. -1=Data, 0=Background
  337.  MPointCookie (Xpos.w,Ypos.w[,ShapeToRead.w]) ; Return the status of a pixel in cookie. -1=Data, 0=Background
  338.  MSScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy bm 2 bm and st 2 st
  339.  MSScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ; Copy sh2sh and ck2ck
  340.  MSScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]];bm2shandst2ck
  341.  MSScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]]; sh2bmandck2st
  342.  MSMaskScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Stencil-Copy bm 2 bm and st 2 st
  343.  MSMaskScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Cookie-Copy sh2sh and ck2ck
  344.  MSMaskScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ;Sten-Copy bm2sh&st2ck
  345.  MSMaskScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Cook-Copy sh2bm&ck2st
  346.  MSBlockScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Block-Copy bm 2 bm and st 2 st
  347.  MSBlockScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Block-Copy sh2sh and ck2ck
  348.  MSBlockScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];BlockCopy bm2sh&st2ck
  349.  MSBlockScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w];BlockCopy sh2bm&ck2st
  350.  MSScrollCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie
  351.  MUseShapeBank BankNumber.w ; Current shape bank, 0..31
  352.  MNothing ; This is the 128th token and it doesn't work so is a dummy
  353.  MMaskScrollMode [([]Mode.w[])];CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMo
  354.  MBlitMode [([]Mode.w[])] ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
  355.  MBlit [ShapeNumber.w,]Xpos.w,Ypos,w ; Blit shape to bitmap, any coords
  356.  MBlock [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit shape to bitmap, align Xpos and width in multiples of 16!
  357.  MTile16x16 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape to bitmap, size must be 16x16, align x/y
  358.  MTile32x32 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape to bitmap, size must be 32x32, align x/y
  359.  MSTile16x16 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape&cook 2 bitmap, size 16x16, align x/y
  360.  MSTile32x32 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape&cook 2 bitmap, size 32x32, align x/y
  361.  MSTile16x16Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape&cook 2 bitmaps, size 16x16, align x/y
  362.  MSTile32x32Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape&cook 2 bitmaps, size 32x32, align x/y
  363.  MTile16x16Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape to 2 bitmaps, size 16x16, align x/y
  364.  MTile32x32Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape to 2 bitmaps, size 32x32, align x/y
  365.  MReserveQueues [(]NumberOfQueues.w[)] ; Reserve structure-memory for Queues
  366.  MFreeQueue [FirstQueue.w[,LastQueue.w]] ; Free a Queue, a range of queues, or all queues
  367.  MAddrQueue [(QueueNumber.w)] ; Returns address of Queue structure
  368.  MQueue [(]QueueNumber.w,NumberOfItems.w[)] ; Allocmem for Queue list items
  369.  MFlushQueue QueueNumber.w ; Empties the queue to contain no items
  370.  MQBlitMode [([]Mode.w[])] ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
  371.  MAutoUseQueues True/False ; Automatically `use' new Queues. <>0=True
  372.  MUseQueue MainQueueNum.w[,SecondQueueNum.w[,ThirdQueueNum.w]] ; Current queue(s) to use
  373.  MUsedQueue  ; Returns currently used Queue
  374.  MQBlit [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos,w ; QBlit shape to bitmap, any coords
  375.  MQBlock [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos.w ; QBlock-blit shape 2 bitmap, align Xpos & width in mult of 16
  376.  MUnQueue QueueNumber.w[,FirstItem.w,LastItem.w][,BitmapNumber.w] ; UnQueue [range of] queued objects [&flush]
  377.  MBitmapPtr [Xpos.w,Ypos.w][,BitmapNumber.w] ; Return data address calculated using bitmap [and coords]
  378.  MShapePtr [Xpos.w,Ypos.w][,ShapeNumber.w] ; Return data address calculated using shape [and coords]
  379.  MStencilPtr [Xpos.w,Ypos.w][,BitmapNumber.w] ; Return address calculated using stencil [and coords]
  380.  MCookiePtr [Xpos.w,Ypos.w][,ShapeNumber.w] ; Return address calculated using cookie [and coords]
  381.  MQDummy [Queue.w,]Xpos.w,Ypos.w,Width.w,Height.w ; Add an item to a queue without having to do a blit
  382.  MSBlitMode [([]Mode.w[])] ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
  383.  MSBlit [ShapeNumber.w,]Xpos.w,Ypos,w ; Blit shape to bitmap and cookie to stencil, any coords
  384.  MSBlock [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit shape to bitmap & cookie 2 stencil, Xpos&Width in 16's
  385.  MSBlitCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie
  386.  MQSBlitMode [([]Mode.w[])] ;CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
  387.  MQSBlit [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos,w ; QBlit shape to bitmap and cookie to stencil, any coords
  388.  MQSBlock [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos.w ; QBlock-blit shape 2 bitmap, Xpos&width mult of 16
  389.  MQSBlitCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie. Adds entry to queue
  390.  MBoxF Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a bitmap in DrawingMode
  391.  MBoxFShape Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a shape in DrawingMode
  392.  MBoxFStencil Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a stencil in DrawingMode
  393.  MBoxFCookie Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a cookie in DrawingMode
  394.  MBox Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a bitmap in DrawingMode
  395.  MBoxShape Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a shape in DrawingMode
  396.  MBoxStencil Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a stencil in DrawingMode
  397.  MBoxCookie Xpos.w,Ypos.w,Width.w,Height.w[,Colour] Draw an unfilled box in a cookie in DrawingMode
  398.  MPlanar16ToBitmap BitmapNum.w,PlanarAddr.l[,OpWidth.w,OpHeight.w,PlanarWidth.w,PlanarHeight.w] ; Convert p2c
  399.  MPlanar16ToShape ShapeNum.w,PlanarAddr.l[,OpWidth.w,OpHeight.w,PlanarWidth.w,PlanarHeight.w] ; Convert p2c
  400.  MGenericPtr Xpos.w,Ypos.w,BaseAddress.l,RowWidth.w ; Calculate and return address based on inputs
  401.  MCludgeCookie ShapeNumber.w,Memory.l ; Cludge shape's cookie from existing mem
  402.  MCludgeStencil BitmapNumber.w,Memory.l ; Cludge bitmap's stencil from existing mem
  403.  MBlockUnQueue QueueNumber.w[,FirstItem.w,LastItem.w][,BitmapNumber.w];Block-UnQueue [range of] objects[&flush]
  404.  MReMap [Colour#0.b,Colour#1.b,BitmapNum.w] *or* [RemapTable.l[,BitmapNum.w]] ; Remap #0 to #1 or with table
  405.  MReMapShape [Colour#0.b,Colour#1.b,ShapeNum.w] *or* [RemapTable.l[,ShapeNum.w]] ; Remap #0 to #1 or with table
  406.  MLine [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a Bitmap in DrawingMode
  407.  MLineShape [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a Shape in DrawingMode
  408.  MLineStencil [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b];Draw a line from X1,Y1 to X2,Y2 in a stencil in DrawingMode
  409.  MLineCookie [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a cookie in DrawingMode
  410.  MInk MainColour.b[,SecondColour.b[,ThirdColour.b]] ; Set what colour to assume as currently used. 0..255
  411.  MColourMode ;Returns value 4 which represents `colour' mode in the blit modes
  412.  MReserveTables [(]NumberOfTables.w[)] ; Reserve structure-memory for Tables
  413.  MFreeTable [FirstTable.w[,LastTable.w]] TableNumber.w ; Free a Table, a range of tables or all tables
  414.  MAddrTable [(TableNumber.w)] ; Returns address of Table structure
  415.  MTable [(]TableNumber.w,SizeInBytes.l[)] ; Allocmem for Table list items
  416.  MAutoUseTables True/False ; Automatically `use' new Tables. <>0=True
  417.  MUseTable MainTableNum.w[,SecondTableNum.w[,ThirdTableNum.w]] ; Current table(s) to use
  418.  MUsedTable  ; Returns currently used Table
  419.  MTablePtr [TableNum.w] ; Returns pointer to base of the table itself
  420.  MReMapMode ;Returns value 5 which represents `ReMap' mode in the blit modes (uses current 2-dimensional table)
  421.  MSimpleReMapMode ;Returns value 6 which is `SimpleReMap' mode in blit modes (uses current 1-dimensional table)
  422.  MSMaskScrollMode [([]Mode.w[])];CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAdd
  423.  MPlotParticles CoordinateList.l,NumPoints.l[,Colour.b] ; Plot lots of points from a table of positions
  424.  MGrabParticles CoordinateList.l,NumPoints.l,Buffer.l ; Grab lots of points from a table into buffer mem
  425.  MDrawParticles CoordinateList.l,NumPoints.l,Buffer.l ; Draw lots of previously grabbed points using a table
  426.  MGrabParticlesAndPlot CoordinateList.l,NumPoints.l,Buffer.l[,Colour.b]; Grabs points to buffer & plots table
  427.  MAddToParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add [two sets of] increments to particle list
  428.  MWrapParticles CoordinateList.l,NumPoints.l ; Bring particles in from opposite edge to which they left
  429.  MReboundParticles CoordinateList.l,NumPoints.l,DirectionList.l,DetectSize.w ; Bounce off edges (NOT Ptr.l!!!)
  430.  MProcessor ; Returns value 0..6 representing MC68000..MC68060 cpu according to exec\AttnFlags
  431.  MAddXYToParticles CoordinateList.l,NumPoints.l,XToAdd.w,YToAdd.w ; Add constants to all particles
  432.  MAddXYToParticlesA CoordinateList.l,NumPoints.l,ValueToAdd.l ; Add constant to all particle pointers
  433.  MAddXYToParticlesQ CoordinateList.l,NumPoints.l,XToAdd.q,YToAdd.q ; Add constants to all particles
  434.  MParticleMode Mode.w or () ; MColourMode, MSimpleReMapMode, MReMapMode or MAddMode - to use in particle plot/draw
  435.  MMildredBase  ; Returns long address of the base of Mildred's internal data area
  436.  MDrawingMode [(]Mode.w[)] ; InvMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode to use for drawing (MPlot etc)
  437.  MParticleFormat [(]Format.b[)] ; Set particle lists/operation format. 0 = X.w,Y.w, <0 = X.q,Y.q, >0 = Ptr.l
  438.  MPictureDissolveIn PictureBitmapNum.w,Colour.b ; Do a picture-based colour-number dissolve-in of a bitmap
  439.  MPictureDissolveOut PictureBitmapNum.w,Colour.b,WipeToColour.b ;Do picture-based colour dissolve-out of bitmap
  440.  MZoom SrcX.q,SrcY.q,XAdd.q,YAdd.q,DestX.w,DestY.w,OpWidth.w,OpHeight.w,DeRes?.w[,SrcBmap.w[,CustomOffsets.l]]
  441.  MZoomShape SrcX.q,SrcY.q,XAdd.q,YAdd.q,DestX.w,DestY.w,OpWidth.w,OpHeight.w,DeRes?.w[,SrcShap.w[,CustOffs.l]]
  442.  MZoomBitmapToShape SrcX.q,SrcY.q,XAdd.q,YAdd.q,DstX.w,DstY.w,OpWid.w,OpHeight.w,DeRes?.w[,SrcBmap.w[,CustOffs.l]]
  443.  MZoomShapeToBitmap SrcX.q,SrcY.q,XAdd.q,YAdd.q,DstX.w,DstY.w,OpWidth.w,OpHeight.w,DeRes?.w[,SrcShap.w[,CustOffs.l]]
  444.  
  445. Any problems/suggestions/bugs, contact paul@stationone.demon.co.uk
  446.